package com.request;

import com.alibaba.fastjson.annotation.JSONField;
import com.entity.BaseModel;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;

/**
 * 订单回调
 * @author zhang
 */
@Data
@ApiModel("订单回调请求实体类")
public class OrderCallbackReq extends BaseModel implements Serializable {
    /**
     * 返回达达运单号，默认为空
     */
    @JSONField(name = "client_id")
    private String clientId;

    /**
     * 添加订单接口中的origin_id值
     */
    @JSONField(name = "order_id")
    private String orderId;

    /**
     * 订单状态(待接单＝1,待取货＝2,配送中＝3,已完成＝4,已取消＝5, 指派单=8,妥投异常之物品返回中=9, 妥投异常之物品返回完成=10, 骑士到店=100,创建达达运单失败=1000 可参考文末的状态说明）
     */
    @JSONField(name = "order_status")
    private Integer orderStatus;

    /**
     * 订单取消原因,其他状态下默认值为空字符串
     */
    @JSONField(name = "cancel_reason")
    private String cancelReason;

    /**
     * 订单取消原因来源(1:达达配送员取消；2:商家主动取消；3:系统或客服取消；0:默认值)
     */
    @JSONField(name = "cancel_from")
    private Integer cancelFrom;

    /**
     * 更新时间，时间戳除了创建达达运单失败=1000的精确毫秒，其他时间戳精确到秒
     */
    @JSONField(name = "update_time")
    private Long updateTime;

    /**
     * 对client_id, order_id, update_time的值进行字符串升序排列，再连接字符串，取md5值
     */
    @JSONField(name = "signature")
    private String signature;
}